<?php

class Sent extends Admin_Controller {

    public function __construct()
    {
        parent::__construct();
        $this->load->model(array('sent_model', 'sent_item_model'));
    }
	
	// Oluşturulmuş kampanyalar
    public function index()
    {
        $limit = 20;
        $offset = $this->uri->segment(3, 0);

        $options = array(
        	'user_id' => $this->auth->uid()
		);
        $result = $this->sent_model->gets($options, $limit, $offset);
		
		// status
		$status = $this->config->item('sent_status', 'statuses');
		
		// PAGINATION
        $pagination = create_pagination(uri_string()."/?", $result['total_rows'], $limit);


        // DATA
        $data = array(
            'result' => $result,
			'status' => $status,
			'pagination' => $pagination
        );
		
		$this->template->load('sent/index', $data);		
    }

    public function sent_detail() {

        $limit = 50;
        $offset = $this->input->get('per_page', true);

        $id = $this->input->get('sent_id');

        // sent details
        $options = array('id' => $id, 'user_id' => $this->auth->uid());
        $sent = $this->sent_model->get($options);

        // sent items
        $options = array('sent_id' => $sent->id);
        $result = $this->sent_item_model->gets($options, $limit, $offset);

        // report
        $report = $this->sent_model->report($id);
		
		// genders
		$genders = $this->config->item('genders');
		
        // PAGINATION
        $pagination = create_pagination(uri_string()."/?sent_id={$id}", $result['total_rows'], $limit);

        // DATA
        $data = array(
            'result' => $result,
            'sent' => $sent,
            'report' => $report,
            'status' => $this->config->item('sent_status', 'statuses'),
            'genders' => $genders,
			'pagination' => $pagination
        );
		
		$this->template->load('sent/detail', $data);		
    }

	// Durmuş olan kampanyayı tekrar açar.
	public function continue_sent($sent_id)
	{
		// Kullanıcının bu kampanyayı tekrardan devam ettirebilmek için yeteri kadar kredisi varmı
		$total_item = $this->sent_item_model->has(array(
			'sent_id' => $sent_id,
			'send_attempt' => '0'
		));

		$total_credit = $this->auth->get_credit();
		
		// Kredi yeterli ise
		if($total_credit > $total_item)
		{
			$data = array(
				'status' => '2',
				'notice' => null	
			);
			$this->sent_model->edit($data, array(
				'id' => $sent_id,
				'user_id' => $this->auth->uid()	
			));

			$message = '<div class="notification success">İşlem başarıyla tamamlandı.</div>';
		}
		// Aksi durumda
		else
		{
			$message = '<div class="notification error">Bu işlem için yeterli miktarda krediniz bulunmuyor.</div>';
		}

		$this->session->set_flashdata('status', $message);

		redirect($this->input->server('HTTP_REFERER'));
	}	

	// Kampanyayı sil
    public function delete($sent_id) {

        $this->sent_model->delete($sent_id);

        redirect($_SERVER['HTTP_REFERER']);
    }
}

/* End of file report.php */
